/*
循环引用定义
循环引用是指对象中的属性指向对象本身，如果属性内部的深层属性指向对象本身，也属于循环引用。如
// 循环引用
const a = {};
a.b = a

判断是否存在循环引用可以简单定义为对象内部的属性是否和对象本身的地址相同。
? 使用  JSON.stringify()  方法判断 JavaScript 对象是否存在循环引用。
? 当序列化一个对象时，如果对象中存在自己的引用，即形成了循环引用，JSON.stringify() 方法会抛出异常。
 */


const obj = {
    a: 'Hello',
    b: {
        c: 'World',
    },
};
obj.b.d = obj;
// obj.b.d = '1';
try {
    console.log(JSON.stringify(obj));
} catch (err) {
    console.error('Error:', err.message);
    // Error: Converting circular structure to JSON
}
